# !/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from itertools import zip_longest


class create_data2():

    def number2(self,a):
        i=0
        for a, b in zip_longest(lstHbdh, lstYsyw):
            i=i+1
        return i

    def create2(self,parameters,data,number):
        i=1
        # 将数据写入本地文件
        with open("../data/product_detail.json", "w", encoding="utf-8") as f:
            # 3、逐个把数据列表中的值代入相应的参数中
            f.writelines('[')
            for a, b in zip_longest(*parameters):
                if a == None:
                    a = "156"
                data['id'] = a
                data['msg'] = b
                data['desc'] = "商品详情接口用例_id=" + str(a)

                # 将数据通过dump方法写入文件对象，并分行，分行的间距是indent的值
                # ensure_ascii=False禁用ASCII编码以确保正确写入文件中的所有Unicode字符
                json.dump(data, f, indent=4, ensure_ascii=False)

                # 最后一组数据后面不加逗号，其他组都用逗号分隔
                if i < number:
                    f.writelines(',')
                    # 分行
                    f.writelines('\n')
                i = i + 1
                print(data)

            f.writelines(']')

if __name__ == '__main__':
    # 定义参数的取值
    lstHbdh = [i for i in range(1,34)  if i!=24]
    lstYsyw = [i for i in range(1,34)  if i!=24]
    # data = {"desc": "接口",
    #         "params": {
    #             "id": 1,
    #             "msg": 1,
    #         },
    #         }
    data = {"desc": "接口",
            "id": 1,
            "msg": 1,
            }
    # 添加到一个列表中
    parameters = [lstHbdh, lstYsyw]
    #调用函数
    obj=create_data2()
    number=obj.number2(parameters)
    obj.create2(parameters,data,number)